package com.bawei.club.test.touch

import android.os.Bundle
import android.view.MotionEvent
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import com.bawei.club.R

/**
  1.滑动冲突现象？
  2.如何解决滑动冲突？
 （1）内部拦截法:点击事件父容器拦截up，自定义子控件重写dispatchTouchEvent，处理down和move判断方向，调用getParent().requestDisallowInterceptTouchEvent(true); //禁止父容器拦截事件 true：不拦截 false：拦截
 （2）外部拦截法:指点击事件都先经过父容器的拦截处理，如果父容器需要此事件就拦截，否则就不拦截。具体方法：需要重写父容器的onInterceptTouchEvent方法，在内部做出相应的拦截
 （3）使用NestedScrollView代替ScrollView
  3.事件分发机制？分发、拦截(只有viewGroup有)、消费
 （1）分发dispatchTouchEvent：
    super：向下传递事件
    false:不传递，交给上层消费
    true：不传递，自己消费
 （2）拦截onInterceptorTouchEvent：
    super/false：不拦截，向下传递事件
    true：拦截，自己消费
 （3）消费onTouchEvent
    super/false：不消费，交给上层消息
    true:自己消费，事件结束

 */
class TouchEventActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
        setContentView(R.layout.activity_touch_event)

    }

    override fun dispatchTouchEvent(ev: MotionEvent?): Boolean {
        return super.dispatchTouchEvent(ev)
    }
}